package com.devplatform.service.article;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.devplatform.pojo.Categories;
import com.devplatform.pojo.article.Article;
import com.devplatform.pojo.dto.ArticleDraftDto;
import com.devplatform.pojo.dto.ArticlePublishDto;
import com.devplatform.pojo.vo.DataVo;

import java.util.List;

/**
 * @author Jnks03
 * @description 针对表【article】的数据库操作Service
 * @createDate 2025-09-26 16:41:04
 */
public interface ArticleService extends IService<Article> {
    Long getAuthorIdByArticleId(Long articleId);

    // 保存草稿（新增/编辑）
    DataVo saveDraft(ArticlePublishDto dto);

    // 发布文章（草稿→已发布）
    DataVo publish(Long articleId);

    // 草稿箱列表（分页）
    DataVo getDraftList(Long authorId, IPage<ArticleDraftDto> dtoIPage);

    // 删除草稿
    DataVo deleteDraft(Long articleId, Long authorId);

    // 获取文章详情（编辑用）
    DataVo getArticleDetail(Long articleId, Long authorId);

    // 获取所有板块（供前端选择）
    List<Categories> getAllCategories();


}
